<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>demo</title>
  <script type="text/javascript" src="../vue.js"></script>
</head>

<body>
  <div id="app">
    <!-- 挂载一个组件 -->
    <!-- 是在这里new调用了 形成了一个实例化对象  -->
    <Count />
  </div>
</body>
<script type="text/javascript">
  Vue.config.productionTip = false
  // 创建一个组件  Count他的本质就是一个构造函数 VueComponent
  const Count = Vue.extend({
    name: 'Count',
    // 最好使用函数
    data() {
      return { num: 0 }
    },
    template: `
    <div>
      <p>{{num}}</p>
       <button @click='num++'>+</button>
    </div>
    `
  })
  // console.log(Count.__proto__);
  console.log(Count.prototype, 'Count.prototype');
  // new Count()是组件实例
  console.log(new Count(), 'new Count');
  // 找到了Vuecomponents得原型对象 因为他得constructor指向Vuecomponents
  console.log(new Count().__proto__, 'new Count__proto__');
  // 找到了Vue得原型对象 再往上找就是obj得原型对象 一直到null
  console.log(new Count().__proto__.__proto__, 'new new Count__proto__');
  const vm = new Vue({
    el: "#app",
    // 注册组件
    components: {
      Count
    },
    data() {
      return {

      }

    }
  })
</script>

</html>